
package sismed.gui.comando;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import sismed.exception.DAOException;
import sismed.negocio.fachada.Fachada;
import sismed.negocio.modelo.Exame;
import sismed.negocio.modelo.ExameHematologico;

public class ComandoCadastrarResExameHematologico extends ComandoGenerico{

	@Override
	public void executar(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException{
		if(req.getSession().getAttribute( "tipoUsuario" ).equals(null))				
			res.sendRedirect("login.jsp");
		else{
			Fachada fachada = Fachada.getInstance();
			
			String idExame = req.getParameter("idExame");
			
			String diaRealizacao = req.getParameter("diaRealizacao");
			String mesRealizacao = req.getParameter("mesRealizacao");
			String anoRealizacao = req.getParameter("anoRealizacao");
			String dataRealizacao = diaRealizacao+"/"+mesRealizacao+"/"+anoRealizacao;
			String observacao = req.getParameter("observacao");
			String vsh = req.getParameter("vsh");
			String coagulacao = req.getParameter("coagulacao");
			String sangria = req.getParameter("sangria");
			String contagemReticolocitos = req.getParameter("contagemReticolocitos");
			String pesquisaCelulaLE = req.getParameter("pesquisaCelulaLE");
			int tp = Integer.parseInt(req.getParameter("tp"));
			int ae = Integer.parseInt(req.getParameter("ae"));
			int ttp = Integer.parseInt(req.getParameter("ttp"));
			int r = Integer.parseInt(req.getParameter("r"));
			int controleTP = Integer.parseInt(req.getParameter("controleTP"));
			int controleTTP = Integer.parseInt(req.getParameter("controleTTP"));
			String celularidadePmm = req.getParameter("pmm");
			String celularidadePolimorfonucleares = req.getParameter("Polinucleares");
			String celularidadeMononucleares = req.getParameter("mononucleares");

			Exame exame = null;
			try {
				exame = (ExameHematologico)(fachada.recuperarExame( idExame ));
			} catch (DAOException e1) {
				e1.printStackTrace();
			}

			((ExameHematologico)exame).setAe(ae);
			((ExameHematologico)exame).setCelularidadeMononucleares(celularidadeMononucleares);
			((ExameHematologico)exame).setCelularidadePmm(celularidadePmm);
			((ExameHematologico)exame).setCelularidadePolimorfonucleares(celularidadePolimorfonucleares);
			((ExameHematologico)exame).setCoagulacao(coagulacao);
			((ExameHematologico)exame).setContagemReticolocitos(contagemReticolocitos);
			((ExameHematologico)exame).setControleTP(controleTP);
			((ExameHematologico)exame).setControleTTP(controleTTP);
			((ExameHematologico)exame).setPesquisaCelulaLE(pesquisaCelulaLE);
			((ExameHematologico)exame).setR(r);
			((ExameHematologico)exame).setSangria(sangria);
			((ExameHematologico)exame).setTp(tp);
			((ExameHematologico)exame).setTtp(ttp);
			((ExameHematologico)exame).setVsh(vsh);
			((ExameHematologico)exame).setRealizado(true);
			((ExameHematologico)exame).setDataRealizacao(dataRealizacao.toString());
			((ExameHematologico)exame).setObservacao(observacao);

			System.out.println("ATUALIZANDO...");
			try {
				fachada.atualizarExame( exame );
				req.setAttribute("msgsucesso", "Resultado cadastrado com sucesso.");
				req.getRequestDispatcher("sucesso.jsp").forward(req, res);
			}
			catch (DAOException e) {
				e.printStackTrace();	
				req.setAttribute("msgerro", e.getMessage());		
				req.getRequestDispatcher("erro.jsp").forward(req, res);
			}
		}
	}

}
